﻿using System;
using System.Threading;
using Mono.Collections.Generic;

namespace Mono.Cecil.Cil
{
	// Token: 0x02000141 RID: 321
	public sealed class ImportDebugInformation : DebugInformation
	{
		// Token: 0x1700031F RID: 799
		// (get) Token: 0x06000BF1 RID: 3057 RVA: 0x00035208 File Offset: 0x00033408
		public bool HasTargets
		{
			get
			{
				return !this.targets.IsNullOrEmpty<ImportTarget>();
			}
		}

		// Token: 0x17000320 RID: 800
		// (get) Token: 0x06000BF2 RID: 3058 RVA: 0x00035228 File Offset: 0x00033428
		public Collection<ImportTarget> Targets
		{
			get
			{
				bool flag = this.targets == null;
				if (flag)
				{
					Interlocked.CompareExchange<Collection<ImportTarget>>(ref this.targets, new Collection<ImportTarget>(), null);
				}
				return this.targets;
			}
		}

		// Token: 0x17000321 RID: 801
		// (get) Token: 0x06000BF3 RID: 3059 RVA: 0x00035260 File Offset: 0x00033460
		// (set) Token: 0x06000BF4 RID: 3060 RVA: 0x000063E9 File Offset: 0x000045E9
		public ImportDebugInformation Parent
		{
			get
			{
				return this.parent;
			}
			set
			{
				this.parent = value;
			}
		}

		// Token: 0x06000BF5 RID: 3061 RVA: 0x000063F3 File Offset: 0x000045F3
		public ImportDebugInformation()
		{
			this.token = new MetadataToken(TokenType.ImportScope);
		}

		// Token: 0x0400075F RID: 1887
		internal ImportDebugInformation parent;

		// Token: 0x04000760 RID: 1888
		internal Collection<ImportTarget> targets;
	}
}
